<?php defined('SYSPATH') OR die('No direct access allowed.');
/**
 * @author     Filipe Acácio <contato@filipeacacio.com.br>
 */
class LibAux {

	public static function trimArrPost() {
		foreach ($_POST as $key => $value) {
			$_POST[$key] = trim($value);
		}
	}
        
        public static function clearEmptyPost(){
            foreach ($_POST as $key => $valor ){ 
              if(empty($valor)){
                  unset ($_POST[$key]);
              }  
            }
        }
        
        public static function clearEmptyGet(){
            foreach ($_GET as $key => $valor ){ 
              if(empty($valor)){
                  unset ($_GET[$key]);
              }  
            }
        }

	public static function debug($variavel) {
		echo '<pre>';
		print_r($variavel);
                echo '</pre>';
	}
        
	public static function trimArr($array) {
		foreach ($array as $key => $value) {
			$array[$key] = trim($value);
		}
		return $array;
	}
        
        public static function constroiArrayVacinas($arrConsulta){
            
            $arrVacinas = array();
            foreach ($arrConsulta as $arrLinha){
                if($arrLinha['dose_vacina'] == 0){
                            $arrLinha['dose_vacina'] = 'Dose única';
                        } elseif($arrLinha['dose_vacina'] == 1){
                            $arrLinha['dose_vacina'] = '1º Dose';
                        } elseif($arrLinha['dose_vacina'] == 2){
                            $arrLinha['dose_vacina'] = '2º Dose';
                        } elseif($arrLinha['dose_vacina'] == 3){
                            $arrLinha['dose_vacina'] = '3º Dose';
                        }
            }
            
            return $arrVacinas;

        }
        
		public static function retornarDoseVacina($numDose){
			switch ($numDose) {
				case '1':
					$retorno = '1ª Dose';
					break;
				
				case '2':
					$retorno = '2ª Dose';
					break;
				
				case '3':
					$retorno = '3ª Dose';
					break;
				
				default:
					$retorno = 'Dose única';
					break;
			}
			return $retorno;
		}

		function trataTxt($str, $enc = "UTF-8"){
			
			$acentos = array(
			'A' => '/&Agrave;|&Aacute;|&Acirc;|&Atilde;|&Auml;|&Aring;/',
			'a' => '/&agrave;|&aacute;|&acirc;|&atilde;|&auml;|&aring;/',
			'C' => '/&Ccedil;/',
			'c' => '/&ccedil;/',
			'E' => '/&Egrave;|&Eacute;|&Ecirc;|&Euml;/',
			'e' => '/&egrave;|&eacute;|&ecirc;|&euml;/',
			'I' => '/&Igrave;|&Iacute;|&Icirc;|&Iuml;/',
			'i' => '/&igrave;|&iacute;|&icirc;|&iuml;/',
			'N' => '/&Ntilde;/',
			'n' => '/&ntilde;/',
			'O' => '/&Ograve;|&Oacute;|&Ocirc;|&Otilde;|&Ouml;/',
			'o' => '/&ograve;|&oacute;|&ocirc;|&otilde;|&ouml;/',
			'U' => '/&Ugrave;|&Uacute;|&Ucirc;|&Uuml;/',
			'u' => '/&ugrave;|&uacute;|&ucirc;|&uuml;/',
			'Y' => '/&Yacute;/',
			'y' => '/&yacute;|&yuml;/',
			'a.' => '/&ordf;/',
			'o.' => '/&ordm;/');

			$str = preg_replace($acentos,
                       array_keys($acentos),
                       htmlentities($str,ENT_NOQUOTES, $enc));
			$str = strtolower($str);
			$str = str_replace(' ', '', $str);
			$str = ucfirst($str);
			
			return $str;
		}

		public static function conversaoDosesVacinas($arrVacinas){
            foreach ($arrVacinas as $arrLinha){
                        if($arrLinha['dose_vacina'] == 0){
                            $arrLinha['nome_vacina'] .= ' - Dose única';
                        } elseif($arrLinha['dose_vacina'] == 1){
                            $arrLinha['nome_vacina'] .= ' - 1º Dose';
                        } elseif($arrLinha['dose_vacina'] == 2){
                            $arrLinha['nome_vacina'] .= ' - 2º Dose';
                        } elseif($arrLinha['dose_vacina'] == 3){
                            $arrLinha['nome_vacina'] .= ' - 3º Dose';
                        }
                        
                        echo '<option value="'. $arrLinha['cod_vacina'] . '">' . $arrLinha['nome_vacina'] . '</option>';
            }          
        }
        
        public static function retornarSexo($sexo){
            $sexo = strtolower($sexo);
            if($sexo == 'm'){
                $sexo = 'Masculino';
            } elseif($sexo == 'f'){
                $sexo = 'Feminino';
            } else{
                $sexo = 'Sexo não informado';
            }
            return $sexo;
        }

	public static function retornarEncode($string) {
		return mb_detect_encoding($string.'x', 'UTF-8, ISO-8859-1');
                
                
	}

//	public static function retornarStrEncodeCorreto($string) {
//		return ( LibAux::retornarEncode($string) != 'UTF-8' )? utf8_encode($string): $string;
//	}

	public static function retornarStrUTF8($string) {
		return ( LibAux::retornarEncode($string) != 'UTF-8' )? utf8_encode($string): $string;
	}

	public static function retornarStrISO88591($string) {
		return ( LibAux::retornarEncode($string) == 'UTF-8' )? utf8_decode($string): $string;
	}

	public static function myEcho( &$var, &$vrPadrao = null) {
		return ( isset($var) )? $var: $vrPadrao;
	}

	public static function myEchoEncode( &$var, &$vrPadrao = null) {
		$var = ( isset($var) )? $var: $vrPadrao;
		return self::retornarStrUTF8( $var );
	}

	public static function exibirMsgErro($arrErros, $fieldName, $br = true) {
		$strReturn = '';
		if ( isset($arrErros[$fieldName]) ) {
			$msgErro = '';
			if ( $arrErros[$fieldName] == 'required' ) {
				$msgErro = 'Campo de preenchimento obrigatório.';
			}
			if ( $arrErros[$fieldName] == 'numeric' ) {
				$msgErro = 'O valor deve ser numérico.';
			}
			if ( $arrErros[$fieldName] == 'email' ) {
				$msgErro = 'E-mail invádido.';
			}
			if ( $arrErros[$fieldName] == 'decimal' ) {
				$msgErro = 'O valor deve ser decimal.';
			}
			if ( $arrErros[$fieldName] == 'date' ) {
				$msgErro = 'Data inválida.';
			}
			if ( $arrErros[$fieldName] == 'cpf_invalido' ) {
				$msgErro = 'CPF Inválido.';
			}
			if ( $arrErros[$fieldName] == 'cpf_cadastrado' ) {
				$msgErro = 'CPF já Cadastrado.';
			}
			if ( $arrErros[$fieldName] == 'cnpj_invalido' ) {
				$msgErro = 'CNPJ Inválido.';
			}
			if ( $arrErros[$fieldName] == 'hora_invalida' ) {
				$msgErro = 'Hora Inválida.';
			}
			if ( $arrErros[$fieldName] == 'integer' ) {
				$msgErro = 'O valor deve ser um número inteiro.';
			}

			if ( $msgErro != '' ) {
				if ( $br ) {
					$strReturn .= '<br />';
				}
				$strReturn .= '<span class="msgError">';
				$strReturn .=	$msgErro;
				$strReturn .= '</span>';
			}
		}
		return $strReturn;
	}

	public static function prepararArrDropdown( $arrDados, $campoValor, $campoDesc, $addArrVazioIni = false ) {

		if ( is_array($arrDados) and  $addArrVazioIni ) {
			array_unshift($arrDados, array($campoValor => '0', $campoDesc => ''));
		}

		$arrRetorno = array();
		foreach ($arrDados as $arrLinha) {
			if ( isset($arrLinha[$campoValor]) and isset($arrLinha[$campoDesc]) ) {
			}
				$arrRetorno[$arrLinha[$campoValor]] = $arrLinha[$campoDesc];
		}
		return $arrRetorno;
	}

	public static function data_extenso() {
		$fuso = 0; // valor de hora para mais ou menos de acordo com o fator abaixo
		$fator = "+"; // fator que aumenta ou diminui a hora do fuso acima
		$diasemana[0] = "domingo";
		$diasemana[1] = "segunda-feira";
		$diasemana[2] = "terça-feira";
		$diasemana[3] = "quarta-feira";
		$diasemana[4] = "quinta-feira";
		$diasemana[5] = "sexta-feira";
		$diasemana[6] = "sábado";
		$mesnome[1] = "janeiro";
		$mesnome[2] = "fevereiro";
		$mesnome[3] = "março";
		$mesnome[4] = "abril";
		$mesnome[5] = "maio";
		$mesnome[6] = "junho";
		$mesnome[7] = "julho";
		$mesnome[8] = "agosto";
		$mesnome[9] = "setembro";
		$mesnome[10] = "outubro";
		$mesnome[11] = "novembro";
		$mesnome[12] = "dezembro";
		$timeadjust = ($fuso * 60 * 60);

		if ($fator == "+"){
			$ano = date("Y",time() + $timeadjust);
			$dia = date("d",time() + $timeadjust);
			$diasem = date("w",time() + $timeadjust);
			$hora = date("G:i",time() + $timeadjust);
			$mes = date ("n",time() + $timeadjust);
		}
		if ($fator == "-"){
			$ano = date("Y",time() - $timeadjust);
			$dia = date("d",time() - $timeadjust);
			$diasem = date("w",time() - $timeadjust);
			$hora = date("G:i",time() - $timeadjust);
			$mes = date ("n",time() - $timeadjust);
		}

		$data_emissao = "$dia de $mesnome[$mes] de $ano, $diasemana[$diasem] &agrave;s $hora";
		return $data_emissao;

	}

}
